package ocean.data;

import java.util.ArrayList;

import ocean.fauna.I.Fish;
import ocean.flora.I.StaticObj;

public class DataHolder
{
  
    // begin service data
    private static int genStepMin = -1;
    private static int genStepMax = 1;
    // end service data

    // begin global config
    private static int oceanWidth;
    private static int oceanHeight;

    private static int[][] positionsObjMatrix;
    private static ArrayList<Integer> possibleStopStaticObjId;

    private static int objSize;

    private static ArrayList<Fish> oceanFauna;
    private static ArrayList<StaticObj> oceanFlora;

    private static int oceanLivaDays;
    // end global config

    // begin fauna config

    // begin Herbivorous config
    private static int herbivorousId = 3;
    private static ArrayList<Integer> herbivorousIdCanEatt;
    private static int herbivorousclonePeriod = 5;
    private static int herbivorousLifeTime = 50;

    private static int herbivorousCount;
    // end Herbivorous config
    // begin Carnivorous config
    private static int carnivorousId = 4;
    private static ArrayList<Integer> carnivorousIdCanEatt;
    private static int carnivorousclonePeriod = 2;
    private static int carnivorousLifeTime = 99;

    private static int carnivorousCount;
    // end Carnivorous config

    // end fauna config

    // begin flora config

    // begin WaterPlant config
    private static int waterPlantId = 2;
    private static int waterPlantCount;
    // end WaterPlant config
    // begin Rock config
    private static int rockId = 1;
    private static int rockCount;

    // end Rock config

    // end flora config
    public static void init()
    {
	
    }
    public static void setFishConfigInit(int pl, int pl_1, int pm, int pm_1, int px, int px_1)
    {
	setCarnivorousLifeTime(pl);
	setHerbivorousLifeTime(pl_1);
	setCarnivorousclonePeriod(pm);
	setHerbivorousclonePeriod(pm_1);
	setCarnivorousLifeTime(px);
	setHerbivorousLifeTime(px_1);
    }

    public static void setFishCountInit(int carnivorousCount, int herbivorousCount)
    {
	setHerbivorousCount(herbivorousCount);
	setCarnivorousCount(carnivorousCount);
    }

    public static int getGenStepMin()
    {
	return genStepMin;
    }

    public static void setGenStepMin(int genStepMin)
    {
	DataHolder.genStepMin = genStepMin;
    }

    public static int getGenStepMax()
    {
	return genStepMax;
    }

    public static void setGenStepMax(int genStepMax)
    {
	DataHolder.genStepMax = genStepMax;
    }

    public static int getOceanWidth()
    {
	return oceanWidth;
    }

    public static void setOceanWidth(int oceanWidth)
    {
	DataHolder.oceanWidth = oceanWidth;
    }

    public static int getOceanHeight()
    {
	return oceanHeight;
    }

    public static void setOceanHeight(int oceanHeight)
    {
	DataHolder.oceanHeight = oceanHeight;
    }

    public static int[][] getPositionsObjMatrix()
    {
	return positionsObjMatrix;
    }

    public static void setPositionsObjMatrix(int[][] positionsObjMatrix)
    {
	DataHolder.positionsObjMatrix = positionsObjMatrix;
    }

    public static ArrayList<Integer> getPossibleStopStaticObj()
    {
	return possibleStopStaticObjId;
    }

    public static void setPossibleStopStaticObj(ArrayList<Integer> possibleStopStaticObj)
    {
	DataHolder.possibleStopStaticObjId = possibleStopStaticObj;
    }

    public static ArrayList<Fish> getOceanFauna()
    {
	return oceanFauna;
    }

    public static void setOceanFauna(ArrayList<Fish> oceanFauna)
    {
	DataHolder.oceanFauna = oceanFauna;
    }

    public static ArrayList<StaticObj> getOceanFlora()
    {
	return oceanFlora;
    }

    public static void setOceanFlora(ArrayList<StaticObj> oceanFlora)
    {
	DataHolder.oceanFlora = oceanFlora;
    }

    public static int getObjSize()
    {
	return objSize;
    }

    public static void setObjSize(int objSize)
    {
	DataHolder.objSize = objSize;
    }

    public static int getOceanLivaDays()
    {
	return oceanLivaDays;
    }

    public static void setOceanLivaDays(int oceanLivaDays)
    {
	DataHolder.oceanLivaDays = oceanLivaDays;
    }

    public static int getHerbivorousId()
    {
	return herbivorousId;
    }

    public static void setHerbivorousId(int herbivorousId)
    {
	DataHolder.herbivorousId = herbivorousId;
    }

    public static ArrayList<Integer> getHerbivorousIdCanEatt()
    {
	return herbivorousIdCanEatt;
    }

    public static void setHerbivorousIdCanEatt(ArrayList<Integer> herbivorousIdCanEatt)
    {
	DataHolder.herbivorousIdCanEatt = herbivorousIdCanEatt;
    }

    public static int getHerbivorousclonePeriod()
    {
	return herbivorousclonePeriod;
    }

    public static void setHerbivorousclonePeriod(int herbivorousclonePeriod)
    {
	DataHolder.herbivorousclonePeriod = herbivorousclonePeriod;
    }

    public static int getHerbivorousLifeTime()
    {
	return herbivorousLifeTime;
    }

    public static void setHerbivorousLifeTime(int herbivorousLifeTime)
    {
	DataHolder.herbivorousLifeTime = herbivorousLifeTime;
    }

    public static int getCarnivorousId()
    {
	return carnivorousId;
    }

    public static void setCarnivorousId(int carnivorousId)
    {
	DataHolder.carnivorousId = carnivorousId;
    }

    public static ArrayList<Integer> getCarnivorousIdCanEatt()
    {
	return carnivorousIdCanEatt;
    }

    public static void setCarnivorousIdCanEatt(ArrayList<Integer> carnivorousIdCanEatt)
    {
	DataHolder.carnivorousIdCanEatt = carnivorousIdCanEatt;
    }

    public static int getCarnivorousclonePeriod()
    {
	return carnivorousclonePeriod;
    }

    public static void setCarnivorousclonePeriod(int carnivorousclonePeriod)
    {
	DataHolder.carnivorousclonePeriod = carnivorousclonePeriod;
    }

    public static int getCarnivorousLifeTime()
    {
	return carnivorousLifeTime;
    }

    public static void setCarnivorousLifeTime(int carnivorousLifeTime)
    {
	DataHolder.carnivorousLifeTime = carnivorousLifeTime;
    }

    public static int getWaterPlantId()
    {
	return waterPlantId;
    }

    public static void setWaterPlantId(int waterPlantId)
    {
	DataHolder.waterPlantId = waterPlantId;
    }

    public static int getRockId()
    {
	return rockId;
    }

    public static void setRockId(int rockId)
    {
	DataHolder.rockId = rockId;
    }

    public static int getHerbivorousCount()
    {
	return herbivorousCount;
    }

    public static void setHerbivorousCount(int herbivorousCount)
    {
	DataHolder.herbivorousCount = herbivorousCount;
    }

    public static int getCarnivorousCount()
    {
	return carnivorousCount;
    }

    public static void setCarnivorousCount(int carnivorousCount)
    {
	DataHolder.carnivorousCount = carnivorousCount;
    }

    public static int getWaterPlantCount()
    {
	return waterPlantCount;
    }

    public static void setWaterPlantCount(int waterPlantCount)
    {
	DataHolder.waterPlantCount = waterPlantCount;
    }

    public static int getRockCount()
    {
	return rockCount;
    }

    public static void setRockCount(int rockCount)
    {
	DataHolder.rockCount = rockCount;
    }

}
